# 编写游戏角色类
# 创建游戏角色类
# 游戏人物角色拥有名字、武器等属性
# 游戏人物具有攻击的方法
"""
class Role:
    def __init__(self, name, weapon):
        self.name = name
        self.weapon = weapon
    def attack(self, target):
        return f'{self.name}正在使用{self.weapon}攻击{target}'
# 创建角色对象
r1 = Role('孙悟空', '金箍棒')
print(r1.attack('唐僧'))
r2 = Role('猪八戒', '青龙偃月刀')
print(r2.attack('白骨精'))
"""
# 武器通过武器类创建，武器类中包含有武器的名称和攻击力
# 定义武器类，创建不同的武器对象，再把武器对象提供给角色使用
# 改变攻击方法：‘xxx正在使用xx攻击xx，对方掉了xx滴血
class Weapon:
    def __init__(self, wname, power):
        self.wname = wname
        self.power = power
# 创建武器对象
w1 = Weapon('金箍棒', 100)
w2 = Weapon('九齿钉耙', 80)
w3 = Weapon('‌降妖宝杖', 50)
# 获取武器名称和攻击力
# print(w3.wname, w3.power)
# 创建角色类
class Role:
    def __init__(self, name, weapon):
        self.name = name
        self.weapon = weapon
    def attack(self, target):
        return f'{self.name}正在使用{self.weapon.wname}攻击{target}，对方掉了{self.weapon.power}滴血'
# 创建角色对象
r1 = Role('孙悟空', w2)
# 获取当前角色使用的武器名称和攻击力
# print(r1.weapon.wname, r1.weapon.power)
print(r1.attack('唐僧'))
